#include "iIOThread.h"

iIOThread::iIOThread()
{
	m_io_runner = new iIOEPoll();
}
int iIOThread::on_message(iMsgID msg, void* param)
{
    switch(msg)
    {
    case MSG_IO_ADD:
        m_io_runner->add_io((iIO*)param);
        break;
    case MSG_IO_DEL:
        m_io_runner->remove_io((iIO*)param);
        break;
    }

	return 0;
}
int iIOThread::run()
{
	while(m_runing)
	{
		iMsg* msg = get_message();
		if(NULL == msg)
		{
			m_io_runner->run();
		}
		else
		{
			msg->process();
		}
	}

	return 0;
}
